// 项目配置
import $config from './config.js';

const interceptor = {
    // 自定义配置参数
    config: {
        timeout: 20000, // 请求超时时间设置，单位ms 建议20~30s
        showLoading:true, // 是否默认展示Loading, 手动调用也会自动会在请求之后自动关闭
        loadingTime:1500, // 在此时间内，请求还没回来的话，就显示加载中动画，单位ms
        loadingTitle:'努力加载中..',  // 提示的内容
        loadingMask:true,  // 是否显示透明蒙层，防止触摸穿透
        originalData: false, // 是否在拦截器中返回服务端的原始数据
        // 设置自定义头部content-type...
		header: {
            'content-type': 'application/x-www-form-urlencoded'
            // 'content-type': 'application/json' // 小程序 content-type 默认为 application/json
		}
    },

    // 请求拦截
    request: (config) => {
        // 自定义添加参数
        config.header['token'] = wx.getStorageSync('token');
        
        return config;
    },

    // 响应拦截
    response: (response) => {
        let res = response.data; // 服务器返回参数
        if (res.code == 200) {
            // res为服务端返回值，可能有code，result等字段
            // 这里对res.result进行返回，将会在app.$g.post(url).then(res => {})的then回调中的res的到
            return res.result;
        } else {
            // 如果返回false，则会调用Promise的reject回调，
            return false;
        }
    }
}

export default interceptor;
